Auxiliary information processing system

ABSTRACT

A system and method is provided for switching between various VBI encoding standards of an MPEG2 digital television signal in order to obtain correct and virtually seamless VBI data. The decoded VBI data is then re-encoded into an NTSC video signal ( 24 ) for presentation to an NTSC display ( 26 ). The system and method utilizes valid user data ( 52 ) as defined in the MPEG2 video system specifications and the ATSC standard for switching among various VBI data encoding formats. In this manner, it is possible to reduce un-wanted switching and eliminate the loss of data for un-wanted switching.

This U.S. non-provisional patent application claims the benefit ofand/or priority to U.S. provisional patent application ser. No.60/500,443 filed Sep. 5, 2003 entitled “Auxiliary Information ProcessingSystem”, the entire contents of which is specifically incorporatedherein by reference.

BACKGROUND OF THE INVENTION

1. Field of the Invention

The present invention relates to a method and apparatus for processingdigital television signals and, more particularly, to a method andapparatus for processing auxiliary information in digital televisionsignals.

2. Background Information

Many television signals include auxiliary or ancillary information ordata, i.e. information or data other than video programs or audioprogram information. Examples of such auxiliary information includeclosed caption data in the United States, program guide information,program subtitles, emergency messages, non-real time sampled video,and/or the like. This auxiliary or ancillary information or data may becollectively termed auxiliary information.

In analog television signals, auxiliary information is typicallyincluded in the signal during the vertical blanking interval (VBI) and,therefore, auxiliary information may also be referred to as “VBI data”or “VBI services” (collectively “VBI data”). The term VBI data is usedeven though in other types of television signals, such as digitaltelevision signals, the so-called VBI data may be provided via aparticular stream of digital data packets rather than in a verticalblanking interval or particular time interval of the television signal.

With respect to certain television signals, such as digital televisionsignals, it is necessary to decode VBI data from the digital bitstreamand then re-encode the VBI data for presentation on an analog videooutput. With regard to digital television signals utilizing MPEG2encoding, it may be necessary to decode VBI data from MPEG2 user data(i.e. MPEG2 compliant bitstream) among various different VBI datastandards (e.g. ATSC, SCTE 20 and SCTE 21), and then to re-encode theVBI data as NTSC video for output to and/or use by an NTSC video displayand/or component. Current digital television signal receivers are onlyable to decode one type of VBI data standard from an MPEG2 signal.

It is therefore evident from the above discussion that what is needed isa digital television signal receiver that is operable to decode VBI datain an MPEG2 compliant bitstream encoded by any one of a plurality of VBIdata standards.

It is therefore evident from the above discussion that what is furtherneeded is a digital television signal receiver that is operable todecode VBI data in an MPEG2 compliant bitstream encoded by any one of aplurality of VBI data standards and re-encode the decoded VBI data intoan NTSC signal.

It is therefore evident from the above discussion that what is stillfurther needed is a digital television signal receiver that is operableto decode VBI data in an MPEG2 compliant bitstream encoded by any one ofa plurality of VBI data standards and re-encode the decoded VBI datainto an NTSC signal without loosing VBI data.

These needs and others are accomplished through application of theprinciples of the subject invention and/or as embodied in one or morevarious methods, forms and/or systems such as are shown and/or describedherein.

SUMMARY OF THE INVENTION

A system and method for switching between various VBI encoding standardsof an MPEG2 digital television signal obtains correct and virtuallyseamless VBI data. The decoded VBI data is then re-encoded into an NTSCvideo signal for presentation to an NTSC display. The system and methodutilizes valid user data as defined in the MPEG2 video systemspecifications and the ATSC standard for switching among various VBIdata encoding formats.

In one form, the present invention provides a method of decoding VBIdata of an MPEG2 television signal. The method includes the steps of:(a) receiving an MPEG2 television signal; (b) decoding the MPEG2television signal to obtain a video signal; (c) determining whethervalid user data exists in the obtained video signal; (d) determining, ifvalid user data exists in the obtained video signal, a value of thevalid user data; and (e) decoding VBI data of the video signal accordingto one of a plurality of VBI data encoding formats as determined by thevalue of the valid user data.

In another form, the present invention provides a method of decoding VBIdata of an MPEG2 television signal. The method includes the steps of:(a) receiving an MPEG2 television signal; (b) obtaining video data fromthe MPEG2 television signal; (c) determining whether valid user dataexists in the obtained video data; (d) determining, if valid user dataexists in the obtained video data, a VBI data encoding format of theMPEG2 television signal; and (e) decoding VBI data existing in the videodata in accordance with the determined VBI data encoding format.

In yet another form, the present invention provides a digital televisionsignal receiver. The digital television signal receiver includes anMPEG2 decoder operable to obtain video data from a received MPEG2television signal, a VBI data extractor connected to the MPEG2 decoderand operable to obtain VBI data from the obtained video data. a VBI datadeterminator connected to the VBI data extractor and operable todetermine whether the obtained VBI data includes valid user data, a VBIdata encoding determinator connected to the VBI data determinator andoperable to determine a VBI encoding format of the VBI data, and a VBIdata decoder connected to the VBI data encoding determinator andoperable to decode the VBI data according to the determined VBI encodingformat.

BRIEF DESCRIPTION OF THE DRAWINGS

The above mentioned and other features and objects of this invention,and the manner of attaining them, will become more apparent an theinvention itself will be better understood by reference to the followingdescription of one embodiment of the invention taken in conjunction withthe accompanying drawings, wherein:

FIG. 1 is a simplified block diagram of an exemplary digital televisionsignal receiver in accordance with the principles of the subjectinvention;

FIG. 2 is a more detailed block diagram of an exemplary digitaltelevision signal receiver in accordance with the principles of thesubject invention;

FIG. 3 is a flowchart of an exemplary manner of determining the VBIencoding standard in accordance with the principles of the subjectinvention;

FIG. 4 is a flowchart of one portion an exemplary manner of decoding theVBI data in accordance with the principles of the subject invention; and

FIG. 5 is a flowchart of another portion of the exemplary manner ofdecoding the VBI data in accordance with the principles of the subjectinvention.

Corresponding reference characters indicate corresponding partsthroughout the several views. Although the drawings representembodiments of the invention, the drawings are not necessarily to scaleand certain features may be exaggerated in order to better illustrateand explain the present invention. The exemplification set out hereinillustrates one embodiment of the invention, in one form, and suchexemplification is not to be construed as limiting the scope of theinvention in any manner.

DESCRIPTION OF THE PREFERRED EMBODMENT(S)

The embodiment disclosed herein is not intended to be exhaustive orlimit the invention to the precise form disclosed so that others skilledin the art may utilize its teaching.

FIG. 1 depicts a block diagram of a system, generally designated 10,that receives a digital television signal, processes the digitaltelevision signal, and outputs an analog video signal all in accordancewith the present principles. Particularly, system 10 is operable,configured and/or adapted to receive a digital television signal,process the digital television signal in the manner set forth herein,and output (provide) at least an NTSC video signal.

System 10 is characterized by a digital television signal receiver 12.Digital television signal receiver (DTSR) 12 is representative of anytype of television signal receiver, such as a television, VCR, DVD, settop box, DVR, or the like, that utilizes digital television signals.While not discussed herein, digital television signal receiver 12 mayalso receive, process and/or utilize analog television signals in amanner such as is known in the art. Digital television signal receiver12 includes an input 14 configured to receive a digital televisionsignal 16. Digital television signal 16 may be provided by varioussources such as via cable, satellite, terrestrial, or via anothercomponent. Digital television signal 16 may be in ATSC format, SCTE 20format, SCTE 21 format, DVB (DVB-S, DVB-T, DVB-C) format and/or otherformats. As such, digital television signal 16 is in MPEG2 compressionformat, but may be in other digital compression formats. Also, digitaltelevision signal 16 may include VBI information or data formattedaccording to the above format schemes. While not discussed herein,digital television signal 16 also includes audio information such as inAC-3 format (for ATSC signals) and MPEG2 format (for DVB signals).

Digital television signal receiver 12 includes memory 18 that may be ofone or more various known forms of memory such as RAM, ROM, EEPROM,flash memory, or the like. Likewise, while not shown, memory 18 may besupplemented or take the form of data storage mediums such as harddrives or the like, all of which are collectively termed memory. Memory18 stores program instructions, firmware, software or the like 20(collectively, program instructions). Program instructions 20 areutilized by television signal receiver 12 and/or its various componentsfor the operation of the various features, functions, capabilitiesand/or the like of television signal receiver 12 including the featuresand/or functions described herein in accordance with the principles ofthe present invention.

Digital television signal receiver 12 further includes a processor,processor or processing circuitry and/or logic generally designated 22and collectively termed processing circuitry/logic. As such, processingcircuitry/logic 22 may be embodied as one or more integrated circuits(chips) with or without additional circuitry and/or logic. The variouscomponents of processing circuitry/logic 22 may be under at leastpartial, if not total, control of the program instructions 20.Processing circuitry/logic 22 is operable,′ configured and/or adapted toprocess incoming digital television signal 16. Particularly, processingcircuitry/logic 22 is operable, configured and/or adapted to receive anddecompress/decode the MPEG2 bitstream (or other digitalcompression/coding scheme) of the incoming digital television signal 16,separate or parse the video and audio information/data thereof, andseparate or parse any auxiliary (VBI) information therein. Additionally,processing circuitry/logic 22 is operable, configured and/or adapted toprocess the video and audio information in order to provide anappropriate audio output and to provide an appropriate video output. Inthis regard, processing circuitry/logic 22 is operative, configuredand/or adapted to code the video information as NTSC video in order toprovide an NTSC video signal 26 on video output 24 of the digitaltelevision receiver 12.

It should be appreciated that digital television signal receiver 12 alsoincludes various other components that are not shown and/or describedherein but are known in the art for practical utilization and/oroperation thereof. Without being limiting or exhausting, such componentsinclude remote control devices, channel tuning devices, and/or the like.

In accordance with the principles of the subject invention, processingcircuitry/logic 22 is further operable, configured and/or adapted toswitch among various VBI information/data decoding algorithms for thevarious VBI encoding standards (e.g. ATSC, SCTE 20, SCTE 21) in order toproperly obtain and decode the VBI data within the digital televisionsignal. In this manner none to almost none of the VBI data is lost inthe determination of the VBI data encoding standard used in digitaltelevision signal 16 for VBI decoding. This allows digital televisionreceiver 12 properly decode the VBI data and then re-encode the VBI datainto NTSC video signal 26. Briefly, processing circuitry/logic 22 usesor looks for a valid user data encoding parameter, syntax or semantic ofa VBI encoding standard (e.g. valid user data as a valid user syntax) inaccordance with a VBI data encoding standard for determining the VBIdata decoding standard. Thus, once the VBI data is properly decoded,processing circuitry/logic 22 adds the VBI data to NTSC video signal 26at video output 24.

It should be appreciated that the present invention is operable forvarious VBI encoding standards, but for exemplary purposes the presentinvention will be described with respect to the three most prevalent VBIencoding standards for digital television signals, i.e. ATSC (AdvancedTelevision Systems Committee), SCTE 20 (Society of CableTelecommunications Engineers—Standard Methods for Carriage of ClosedCaptions and Non-Real Time Sampled Video), and SCTE 21 (Society of CableTelecommunications Engineers—Standard for Carriage of NTSC VBI Data inCable Digital Transport Streams).

ATSC and SCTE 21 are similar except that SCTE 21 has extensions for newuser data type code 4 and 5 that are for additional data and new lumadata. Because of this, it is possible to discriminate SCTE 21 from ATSCusing these user data type codes (i.e. from determining the presence ofa particular VBI data syntax). With SCTE 20 and SCTE 21, however, thereis a totally different data structure. Therefore, it is necessary tohave a manner of determining and decoding SCTE 20 and SCTE 21. It isdesirable to decide which format of data needs to be decoded anddisplayed on the screen and re-encoded for NTSC video output even ifboth can be decoded simultaneously because it may be undesirable todisplay both data formats at the same time on a screen. As well, it isnot possible to encode two different VBI data for an NTSC output. Thusit is necessary to decide which format needs to be decoded, encoded anddisplayed. As described herein, the present system provides a manner todecide the current decoding format to use from among multiple formats ofdata.

In FIG. 2, the functional portions of digital television receiver 12 ofsystem 10 is shown particularly for switching the current decoding dataformat from among the several exemplary VBI encoding formats for MPEG2digital television signals (e.g. ATSC, SCTE 20 and SCTE 21).Particularly, FIG. 2 depicts digital television signal receiver 12 withthe functional blocks necessary to carrying out the principles of thesubject invention. The program instructions 20 are included to indicatethat the various components and/or processing is under at least thepartial, if not total, control of the firmware, software or the like.

The digital television signal receiver 12 receives the digitaltelevision signal (DTV) 16 at the input 14.and proceeds to decode theMPEG2 DTV signal via an MPEG2 decoder 30. A VBI data extractor 32 isprovided to extract VBI data from the MEPG2 signal that is operable toextract the VBI data from the MPEG2 signal. This is accomplished only ifvalid user data as defined by the ATSC standard is detected. A VBI dataencoding standard determinator 34 is provided that is operable todetermine the VBI data encoding standard from the extracted VBI data.While three exemplary formats are described (i.e. ATSC, SCTE 20, SCTE21), it should be appreciated that other. formats may be supported.

A VBI data decoder 36 is provided that is operable to decode the VBIdata extracted from the MPEG2 signal in accordance with the determinedVBI data encoding standard. An NTSC VBI encoder 38 is further providedthat is operable to encode the decoded VBI data from the MPEG2 signalinto NTSC format. The NTSC encoded VBI data is then inserted into theNTSC video signal 26. The NTSC video signal 26 is provided at the output24 of the digital television signal receiver 12.

Referring now to FIG. 3, there is depicted a flowchart of an exemplarymanner of operation, generally designated 50, of the present television.The operation of the system 10 begins with the detection of valid userdata in an MPEG video stream 52. Thus, the operation depicted in FIG. 1will be initiated whenever the system detects valid user data whiledecoding the MPEG2 video. In one form, valid user data is detected whenthe user₁₃ data₁₃ start₁₃ code as defined in the MEPG2 and/or ATSCstandard is received (a user data parameter). Whenever valid user datais detected 52, the system begins decoding using the current mode fordetecting valid data and the decoding process as presented in FIGS. 3, 4and 5.

Once valid user data is detected 52, the system decides the decodingmode to which the system is currently set 54. If the current mode is notset to NONE (i.e. the decoding mode of the DTSR is set to one of thethree decoding modes), then the determination at step 54 is NO (N) andthe decoding routine 66 is initiated. This then ends the program flow ofFIG. 3.

If however, it is determined that the current mode is not NONE (i.e. thedecoding mode of the DTSR is set to one of the three decoding modes),then the system decides the decoding mode and will then assign thechosen value to the current mode if a valid data mode can be detected.Thus, if the determination step 54 is YES (Y) the system proceeds todecide the decoding mode. If a valid mode to decode is found, the systemcontinues decoding until the system fails to decode for a particulartime determined by a timer function identified as WaitTimer. TheWaitTimer will be re-initialized whenever a valid VBI data is detectedfrom user data. This means that it will be necessary to wait forswitching to a new decoding mode after getting a valid data with currentmode. Therefore, an alternative embodiment could involve starting withthe current mode as NONE (default mode) when the system operation 50begins. In that case, the system decides the current mode from thestart.

Referring back to the system 50, the system then determines in step 56whether the ATSC identification (ATSC_id) parameter is received afterthe user₁₃ data₁₃ start₁₃ code (another user data parameter) isobtained. If the ATSC₁₃ id has been received (i.e. Y for yes), then thecurrent mode must be either ATSC or SCTE21. This data is stored forprocessing during the decoding routine 66. Program flow then goes to thedecoding routine 66. Thereafter, the current program flow 50 ends 68.

If the ATSC₁₃ id has not been received (i.e. N for no), program flowgoes to step 58. In step 58 the system determines whether user data typecode 0x03 (another user data parameter) has been received. If the userdata type code 0x03 has not been received (i.e. N for no), then thesystem in step 60 sets the current mode to SCTE20. If the user data typecode 0x03 has been received (i.e. Y for yes), then the system in step 64sets the current mode to NONE. After the system decoding mode has beenset, the program goes to the decoding routine 66 and thereafter endsthis routine 68.

In FIG. 4, the decoding routine 66 is depicted. The decoding routine 66begins with MPEG2 VBI data decoding routine start step 70. Thereafter,the system determines in step 72 whether the current mode has been setto either ATSC or SCTE 21. If the current mode is set to ATSC or SCTE 21(i.e. Y for yes), then ATSC or SCTE 21 decoding routine 74 is invoked.This will be discussed in conjunction with FIG. 5 below. Thereafter, theroutine 66 ends 88.

If the current mode in step 72 is not ATSC or SCTE 21 (i.e. N for no),then program flow proceeds to step 76 where it is determined whether thecurrent mode is set to SCTE 20. If not (N for no), the system routine 66ends and the system begins again to determine receipt of valid userdata. If yes (Y), then program flow proceeds to step 78 where it isdetermined whether the user data type code 0x03 has been received. Ifthe user data type code 0x03 has not been received (i.e. N for no), theprogram flow proceeds to step 82 where the WaitTimer setting is checkedto determine if it is set to 0. If the WaitTimer is not set to 0 (i.e. Nfor no) then program flow ends 88. If the WaitTimer is set to 0 (i.e. Yfor yes), then the system sets the current mode to NONE, step 84, andthis routine ends 88.

If the user data type code 0x03 is received in step 78, then the systemchecks to determine whether the next seven bits received are “1000 000”.If not (N), then the WaitTimer is set to 0 (i.e. Y for yes), then thesystem sets the current mode to NONE, step 84, and this routine ends 88.If the next seven received bits are “1000 000” this signifies that theencoding format is SCTE21. Thus in step 86, the VBI data is decodedutilizing the SCTE21 decoding format. The decoded data is then sent tothe NTSC encoder and the WaitTimer is set to INT_VALUE. Thereafterprogram 66 ends 88.

Referring to FIG. 5, the ATSC or SCTE 21 decoding routine 74 isdepicted. The ATSC or SCTE 21 decoding routine 74 thus begins with step90 initializing or starting the routine. Thereafter, it is determinedwhether ATSC₁₃ id has been received. If not, (N), then program flowproceeds to step 98 where the system then determines whether theWaitTimer is set to 0. If not (N), then routine 74 ends 114. If yes (Y),then the current mode is set to NONE, step 100, and routine 74 ends 114.

If ATSC₁₃ id has been received (Y), then the system in step 94determines whether the user data type code is 3, 4 or 5. If not (N),then program flow proceeds to step 98 where the system then determineswhether the WaitTimer is set to 0. If the WaitTimer is not (N) set to 0,then routine 74 ends 114. If WaitTimer is set to 0(i.e. yes, Y), thenthe current mode is set to NONE, step 100, and routine 74 ends 114.

If the ATSC₁₃ id is set to 3, 4 or 5, (Y), then the system determines instep 96 whether the user data type code is 3. If the user data code typeis 3, then the ATSC encoding format is being used and program flowproceeds to step 106. In step 106, the VBI data is decoded using theATSC decoding format and the WaitTimer is set to INT_VALUE. Thereafterdecoding continues and the routine ends 114. If the user data type codeis not 3 (N), then the system proceeds to step 102, wherein SCTh21 isset as the current mode and the WaitTimer is set to INT_VALUE.

Thereafter, the system determines in step 104, whether the user datatype code =4. If not (N), the system proceeds to step 110. In step 110it is determined whether the user type data code is 5. If not (N), theroutine 74 ends 114. If yes (Y), then luma PAM data is decoded 112. If,however, in step 104, it is determined that the user type data code is 4(Y), then additional EIA 608 standard data is decoded.

Another alternative embodiment for switching current decoding modeinvolves switching whenever a valid user data exists but valid VBI datacannot be obtained. As a result, it is possible to detect new format asvalid user data and VBI data and, therefore, it is possible to avoidunnecessary switching while there is no data for a time period.

While this invention has been described as having a preferred design,the present invention can be further modified within the spirit andscope of this disclosure. This application is therefore intended tocover any variations, uses, of adaptations of the invention using itsgeneral principles. Further, this application is intended to cover suchdepartures from the present disclosure as come within known or customarypractice in the art to which this invention pertains and that fallwithin the limits of the appended claims.

1. A method of decoding VBI data of an MPEG2 television signalcomprising the steps of: receiving an MPEG2 television signal; decodingthe MPEG2 television signal to obtain a video signal; determiningwhether valid user data exists in the obtained video signal;determining, if valid user data exists in the obtained video signal, avalue of the valid user data; and decoding VBI data of the video signalaccording to one of a plurality of VBI data encoding formats asdetermined by the value of the valid user data.
 2. The method of claim1, wherein the plurality of encoding formats comprise ATSC, SCTE20 andSCTE21.
 3. The method of claim 1, wherein the valid user data comprisesa start code.
 4. The method of claim 3, wherein the start code comprises0x000001B2.
 5. The method of claim 1, further comprising the step of:encoding the decoded VBI data of the video signal into an NTSC signalencoded from the obtained video data..
 6. The method of claim 1, furthercomprising the step of: continuing to decode the VBI data of the videosignal until the system fails decoding for a predetermined period oftime.
 7. A method of decoding VBI data of an MPEG2 television signalcomprising the steps of: receiving an MPEG2 television signal; obtainingvideo data from the MPEG2 television signal; determining whether validuser data exists in the obtained video data; determining, if valid userdata exists in the obtained video data, a VBI data encoding format ofthe MPEG2 television signal; and decoding VBI data existing in the videodata in accordance with the determined VBI data encoding format.
 8. Themethod of claim 7, further comprising the step of: inserting the decodedVBI data into an NTSC video signal encoded from the obtained video data.9. The method of claim 7, wherein the plurality of encoding formatscomprise ATSC, SCTE20 and SCTE21.
 10. The method of claim 7, wherein thevalid user data comprises a start code.
 11. The method of claim 10,wherein the start code comprises 0x000001B2.
 12. The method of claim 7,further comprising the step of: continuing to decode the VBI data of thevideo signal until the system fails decoding for a predetermined periodof time.
 13. A digital television signal receiver comprising: an MPEG2decoder operable to obtain video data from a received MPEG2 televisionsignal; a VBI data extractor connected to said MPEG2 decoder andoperable to obtain VBI data from the obtained video data; a VBI datadeterminator connected to said VBI data extractor and operable todetermine whether the obtained VBI data includes valid user data; a VBIdata encoding determinator connected to said VBI data determinator andoperable to determine a VBI encoding format of the VBI data; and a VBIdata decoder connected to said VBI data encoding determinator andoperable to decode said VBI data according to the determined VBIencoding format.
 14. The digital television signal receiver of claim 13,wherein the VBI data determinator is operable to determine the VBIencoding format from an ATSC, SCTE20 or SCTE21 encoding format.
 15. Thedigital television signal receiver of claim 13, wherein the valid userdata comprises a start code.
 16. The digital television signal receiverof claim 15, wherein the start code comprises 0x000001B2.
 17. Thedigital television signal receiver of claim 13, further comprising: anNTSC encoder operable to insert the decoded VBI data into an NTSC videosignal encoded from the obtained video data.